ArangoDB-তে ডেটাবেসের কর্মক্ষমতা উন্নত করতে ইনডেক্সিং একটি গুরুত্বপূর্ণ ফিচার। এটি ডেটা অনুসন্ধানকে দ্রুততর করে এবং কোয়েরি অপারেশনের সময় ব্যয় হ্রাস করে। ArangoDB বিভিন্ন ধরণের ইনডেক্স সমর্থন করে, তার মধ্যে উল্লেখযোগ্য হলো Fulltext Index, Geo Index, এবং Persistent Index।
Fulltext Index ডেটা থেকে পূর্ণ-পাঠ্য অনুসন্ধানের জন্য ব্যবহৃত হয়। এটি বড় টেক্সট ডেটা থেকে নির্দিষ্ট শব্দ বা বাক্যাংশ দ্রুত খুঁজে পেতে সাহায্য করে।
১. একটি Collection-এ Fulltext Index তৈরি করুন:
db._create("articles");
db.articles.ensureIndex({ type: "fulltext", fields: ["content"], minLength: 3 });
minLength
: ৩ মানে এটি ৩ বা তার চেয়ে বড় শব্দ অনুসন্ধান করবে।
FOR doc IN FULLTEXT(articles, "content", "ArangoDB")
RETURN doc
Geo Index স্থানীয় তথ্য অনুসন্ধান এবং ভৌগোলিক ডেটা পরিচালনার জন্য ব্যবহৃত হয়। এটি দূরত্ব, নিকটতম অবস্থান, এবং বৃত্তাকার অঞ্চল অনুসন্ধান করতে ব্যবহৃত হয়।
১. একটি Collection-এ Geo Index তৈরি করুন:
db._create("locations");
db.locations.ensureIndex({ type: "geo", fields: ["latitude", "longitude"] });
Geo Index latitude এবং longitude ক্ষেত্র ব্যবহার করে কাজ করে।
নিকটতম অবস্থান খুঁজতে:
FOR loc IN NEAR(locations, 23.8103, 90.4125, 5)
RETURN loc
এখানে NEAR ফাংশন নিকটস্থ ৫টি স্থান ফেরত দেবে।
Persistent Index জটিল ডেটা স্ট্রাকচারে নির্দিষ্ট ফিল্ডে অনুসন্ধান এবং সাজানোর জন্য ব্যবহৃত হয়। এটি বড় ডেটাসেটেও দ্রুত ফলাফল প্রদান করে।
১. একটি Collection-এ Persistent Index তৈরি করুন:
db._create("products");
db.products.ensureIndex({ type: "persistent", fields: ["price", "category"] });
Persistent Index অনেক ক্ষেত্রে SQL-র B-Tree Index এর মতো কাজ করে।
দামের ভিত্তিতে পণ্য সাজানোর জন্য:
FOR product IN products
FILTER product.category == "electronics"
SORT product.price ASC
RETURN product
ইনডেক্স টাইপ | ব্যবহার ক্ষেত্র | মূল সুবিধা |
---|---|---|
Fulltext Index | টেক্সট ডেটা অনুসন্ধান। | টেক্সট থেকে নির্দিষ্ট শব্দ বা বাক্যাংশ দ্রুত খুঁজে পাওয়া। |
Geo Index | ভৌগোলিক ডেটা অনুসন্ধান। | অবস্থান ভিত্তিক অনুসন্ধানে কার্যকর। |
Persistent Index | ফিল্টার এবং সাজানোর জন্য। | জটিল কোয়েরি অপারেশনের জন্য দ্রুত ফলাফল। |
Fulltext Index, Geo Index, এবং Persistent Index ArangoDB-তে ডেটা অনুসন্ধান ও ম্যানেজমেন্টের জন্য গুরুত্বপূর্ণ। এই ইনডেক্সগুলো ডেটা অনুসন্ধানের গতি বাড়ায় এবং বড় ডেটাসেটেও কর্মক্ষমতা নিশ্চিত করে। প্রতিটি ইনডেক্স নির্দিষ্ট ব্যবহারের জন্য উপযুক্ত, এবং এগুলো কার্যকরভাবে কনফিগার করলে ডেটাবেস অপ্টিমাইজেশন সহজ হয়।
common.read_more